package com.bicon.botu.mall.component.service;


import com.baomidou.mybatisplus.service.IService;
import com.bicon.botu.mall.component.entity.HistorySearch;
import com.bicon.botu.core.base.common.entity.BaseResult;

import java.util.List;

/**
 * 搜索历史表 服务类
 *
 * @author 张凡
 * @date 2017/7/19 下午 14:49
 */
public interface IHistorySearchService extends IService<HistorySearch> {
    /**
     * 添加搜索记录
     *
     * @param userId     用户id
     * @param type       模块类型
     * @param searchWord 搜索关键字
     * @return
     */
    BaseResult add(String userId, String type, String searchWord, Integer total);

    /**
     * 逻辑删除用户搜索记录(单条)
     *
     * @param id     搜索词id
     * @return
     */
    BaseResult deleteOneHistory(String id);

    /**
     * 逻辑清空用户搜索记录
     *
     * @param userId 用户id
     * @return
     */
    BaseResult deleteAllHistory(String type,String userId);

    /**
     * 查询一周内搜索次数最多的几个词
     *
     * @param num 词的数量
     * @return
     */
    List<String> mostSearchedWords(String type,Integer num);

    /**
     * 初始化用户的最新20条记录历史搜索到redis
     *
     * @param userId 用户id
     * @return
     */
    BaseResult initHistorySearchToRedis(String userId,String type);

    /**
     * 获取用户的历史搜索详情
     *
     * @param userId 用户id
     * @return
     */
    List<HistorySearch> getHistorySearchDetailFromRedis(String userId,String type);
}
